package com.cn.wanxi.servlet;

/**
 * 测试类
 */
public class Test {
    //    start  静态  final  最终
    private static final String USERNAME = "aaaa";
    //    当我们把变量放在类里面，我们可以不用初始变量值，如果放在方法里面，必须赋值
    short bShort;
    float aFloat;
    double aDouble;
    char aChar;

    /**
     * main 主入口
     *
     * @param args
     */
    public static void main(String[] args) {
        /*
         * java注释：三种注释：注释解释，java编译的时候直接过滤，不编译注释
         * 第一：行注释
         * 第二注释：文本注释
         * 第三种注释：类注释，方法注释
         */
//        System.out.println("fasdfa");//打印
        /*
         * 基本数据类型
         * byte short int long float  double  boolean  char
         * 1.定义
         * 2.命名规则(并不是Java规定必须这么写，只是大家的约定，)
         *      方法名，变量名 小驼峰式命名
         *      类 大驼峰命名
         *      常量  全部大写
         * 3.取值范围（整型可以赋值整数，浮点型可以赋值小数，布尔型只能赋值true，false，字节型，只能赋值一个字节）
         * byte short int long
         *  1     2   4   8    byte 一个byte代表8给bit
         * byte的取值范围 -128~127之间  2的8次方
         * short的取值访问   -2的15次方~2的15次方-1
         * int   -2的31次方~2的31次方-1
         * long   -2的63次方~2的63次方-1
         * float  double  代表小数
         *   4       8
         *
         * 一个文件夹（文件夹有没有大小？）没有大小
         * 字母，数字，空字符  tab  空格只有一个字节  enter键 两个字节，中文两个字节
         * 4.默认值
         * byte 0，short 0,int 0,long 0,float 0.0,double 0.0 boolean false,char ' ',
         *
         * 5.转换 强制转换和自动转换
         *
         * 6.整型转换为char
         */
        byte aByte = 0;//定义一个变量为a的byte类型，然后将值为1赋值给变量a
        short aShort = 0;
        int aInt = 20;
        long aLong = 0;
        float aFloat = 0;
        double aDouble = 0;
        boolean aBoolean = true;//布尔值只有两个值，true，false
        char aChar = ' ';//代表一个字节，用单引号括起来'',' '


//        System.out.println("---------"+new Test().aChar+"++++++");
        aByte = (byte) aShort;//如果将大的值赋值给小范围的变量，就会出现溢出
//        出现溢出，我们如果还需要，则要进行强制转换
        aShort=aByte;//小范围的值赋值给大范围的值，自动赋值，不会报错
//        整型和char型都是4个字节
        aInt=aChar;
        aChar= (char) aInt;//将整型转换为字节型也需要强制转换
    }
}
